Metode numerice - Aplicatii

Lucrarea 3.   Criteriul de aproximare dupa cele mai mici patrate: regresia polinomiala si regresia liniara

Tema A - Regresia polinomiala    Tema B - Regresia liniara    Tema C - Regresia parabolica

Criteriul de aproximare prin interpolare determina functia aproximant F(x) impunand conditia ca aceasta sa coincida cu functia de aproximat f(x) in toate nodurile de interpolare. In felul acesta, curba asociata functiei F(x) este fortata sa urmeze o traiectorie impusa de pozitia nodurilor de interpolare. Acest criteriu este insa prea putin eficient in cazul unui numar mare de noduri de interpolare, deoarece determinarea coeficientilor polinomului de aproximare necesita un volum mare de calcul si exista riscul aparitiei oscilatiilor intre noduri. In plus, daca insesi valorile indicate pentru functia f(x) nu sunt exacte, provenind de exemplu din masuratori afectate de erori, nu are sens sa impunem replicarea lor de catre functia de aproximare. In aceste situatii este convenabila aplicarea unei metode care sa determine cea mai "buna" functie care sa minimizeze abaterea medie patratica intre f(x) si F(x) in toate punctele in care se cunoaste valoarea functiei originare.
        Apreciati si dvs. cum ar arata curbele ce ar descrie functia F(x) pentru punctele de definitie din figurile alaturate daca s-ar folosi criteriul de aproximare prin interpolare.
        Aproximarea dupa criteriul celor mai mici patrate determina o functie F(x) care nu mai trece prin punctele de definitie, ci printre ele, astfel incat suma patratelor abaterilor intre functiile F(x) si f(x) in aceste puncte sa fie minima.

        Pentru formalizarea acestui criteriu, se considera functia sub forma tabelara, avand n+1 masuratori (x_k, f_k) afectate de erori inerente si se urmareste determinarea unei functii de aproximare F(x), astfel definita incat suma patratelor abaterilor in punctele de definitie sa fie minima:

        Aceasta expresie a abaterii I se utilizeaza atunci cand erorile inerente sunt localizate la nivelul functiei f(x)=y. In acest caz se spune ca functia F(x) se determina prin regresie in x. Este posibil insa ca erorile inerente sa se regaseasca in variabila x, caz in care F(x) se determina prin regresie in y.
        In functie de forma functiei de aproximare F(x) pot fi aplicate mai multe tipuri de regresie: polinomiala, exponentiala, logaritmica, hiperbolica, etc.

Tema A - Regresia polinomiala

        Pentru functia tabelara considerata, regresia polinomiala foloseste o functie de aproximare de forma unui polinom de grad p, in general diferit de n :

pentru care abaterea I are forma:
respectiv:
Determinarea functiei F(x) presupune calculul celor p+1 coeficienti a_1, a_2,...,a_(p+1) folosind cele n+1 perechi (x_k, f_k) asociate punctelor in care este definita functia f(x), astfel incat sa se asigure valoarea minima a abaterii I. Prin anularea derivatelor partiale ale lui I in raport cu cele p+1 necunoscute a_i:
se obtine un sistem de p+1 ecuatii liniare cu p+1 necunoscute, de forma extinsa:
Deoarece functiile  x^(j-1), j=1,...,p+1 sunt liniar independente, determinantul acestui sistem va fi intotdeauna nenul, astfel incat solutia calculata va fi unica. In general insa, sistemul liniar astfel obtinut este rau conditionat, astfel incat erorile de rotunjire care apar in cursul calculelor  conduc la obtinerea unor rezultate mult diferite de cele reale. Acest lucru se intampla cu atat mai probabil cu cat gradul polinomului de aproximare F(x) este mai mare.  In practica,  atunci  cand se lucreaza in simpla precizie, un grad p>7 conduce, de regula, la rezultate fara semnificatie reala. Din acest motiv, precum si in scopul reducerii timpului de calcul, in practica se utilizeaza polinoame de regresie cu grad cat mai redus si adesea se apeleaza la regresia liniara sau parabolica.



Algoritmul 1 - Aproximarea functiilor prin regresie polinomiala

  1. Definirea functiei tabelare: numarul punctelor cunoscute n+1, valorile nodurilor de interpolare x_k si ale functiei aproximate f_k(k=1,..., n+1).
  2. Definirea gradului polinomului de regresie p.
  3. Formarea matricei coeficientilor C = [c_i,j] i,j=1, ... ,p+1 si a vectorului termenilor liberi D = [d_ j] j=1, ... , p+1:
  4. Rezolvarea sistemului de ecuatii C a = D si determinarea coeficientilor a_j , j=1, ... , p+1.
  5. Aproximarea functiei in punctul de calcul:

Tema B - Regresia liniara

        Daca polinomul de aproximare are gradul p=1, aplicarea criteriului celor mai mici patrate conduce la regresia liniara:

iar sistemul de ecuatii liniare a carei solutie asigura minimizarea abaterii medii patratice devine:
        In continuare se folosesc notatiile:

  - valoarea medie a variabilei statistice x;
  - valoarea medie a variabilei statistice f;
- valoarea medie patratica a variabilei statistice x;
- valoarea medie a variabilei x * f;
cov (x,f) - covarianta statistica a variabilelor x si f;
- dispersia variabilei x in raport cu valoarea sa medie,

unde :


          Solutia sistemului de ecuatii este:
sau:
iar polinomul de regresie are forma:
adica o dreapta de panta cov(x,f) /, care trece prin punctul de coordonate ( , )  , care poate fi privit ca un centru de greutate statistic al tuturor punctelor (x_k, f_k), k=1,...,n+1.
        Algoritmul pentru regresia liniara este asemanator si reprezinta un caz particular al algoritmului pentru regresia polinomiala.

 

Tema C - Regresia parabolica

        Pentru aceasta tema, care este un caz particular al regeresiei polinomiale, suportul teoretic si algoritmul se pregatesc individual de catre studenti, dupa modelul regresiei liniare.


Pentru implementarea algoritmelor corespunzatoare   diferitelor   forme  de  regresie  se  poate  consulta  cartea   "Calcul numeric cu aplicatii in Turbo Pascal".
 

   Aplicatii - Lista lucrarilor de laborator